블로그 릴레이 - AWS IAM의 인라인 정책, 고객 관리형 정책 등 다양한 정책에 대해서 정리
안녕하세요! AWS 사업 본부의 김재욱입니다.
본 블로그는 당사의 한국어 블로그 릴레이의 열세 번째 블로그입니다.
이번 블로그의 주제는「AWS IAM의 인라인 정책, 고객 관리형 정책 등 다양한 정책에 대해서 정리」입니다.
IAM 정책 종류
IAM 정책에서는 AWS 관리형 정책과 고객 관리형 정책, 인라인 정책 3가지로 나누어볼 수 있습니다.
이 3가지 정책이 각각 어떠한 역할을 하고 있는지 이번 블로그에서 알아보도록 합시다.
AWS 관리형 정책
AWS 공식 문서를 살펴보면 AWS 관리형 정책에 대해 다음과 같이 설명하고 있습니다.
AWS 관리형 정책을 사용하면 사용자, 사용자 그룹 및 역할에 적절한 권한을 손쉽게 할당할 수 있습니다. 정책을 직접 작성하는 것보다 빠르고, 여러 가지 일반 사용 사례에 맞는 권한이 포함되어 있습니다.
즉, AWS에서 정책을 생성하고 관리하는 것이 AWS 관리형 정책입니다. 이러한 AWS 관리형 정책은 사용자가 임의로 수정하거나 삭제할 수 없습니다.
현재 2024년 9월을 기준으로 1217개의 AWS 관리형 정책을 제공하고 있습니다. 이러한 AWS 관리형 정책은 각 서비스에 따른 여러 사용 사례에 맞추어 제공하고 있지만, 사용자가 직접 커스터마이징할 수 없기 때문에 사용자가 원하는 최소 권한을 설정할 수 없다는 단점이 존재합니다. 하지만, 별도의 작업 없이 빠르게 권한을 설정할 수 있다는 장점이 있습니다.
또한, 각 서비스에 맞춘 다양한 AWS 관리형 정책을 제공하고 있으므로 사용자는 쉽게 본인의 사용 사례에 맞추어 정책을 설정할 수 있습니다.
AWS 관리형 정책에서는「AWS 관리형 - 직무」라는 형태의 AWS 관리형 정책을 제공합니다. IAM 정책을 직접 커스터마이징하여 생성하는 것은 별도의 지식이 필요하므로 이러한 부분에 어려움을 겪고 있는 사용자를 위해 최소 권한을 가진 직무에 관한「AWS 관리형 - 직무」를 별도로 제공하고 있습니다.
아래와 같이 직무에 따른 AWS 관리형 권한을 제공하고 있습니다.
- 관리자 직무
- 결제 직무
- 데이터베이스 관리자 직무
- 데이터 사이언티스트 직무
- 개발자 고급 사용자 직무
- 네트워크 관리자 직무
- 읽기 전용 액세스
- 보안 감사자 직무
- 지원 사용자 직무
- 시스템 관리자 직무
- 보기 전용 사용자 직무
2024년 9월 기준으로 총 11개의 AWS 관리형 - 직무 정책을 제공하고 있는 것을 확인할 수 있습니다.
보다 자세한 내용은 아래 AWS 공식 문서를 참고해 주세요.
고객 관리형 정책
고객 관리형 정책은 사용자가 사용 사례에 맞추어 직접 IAM 정책을 커스터마이징할 수 있는 정책입니다. AWS 관리형 정책과는 달리 직접 사용자가 정책을 업데이트하고 커스터마이징해야 하는 어려움이 존재하지만, 직접 커스터마이징할 수 있기 때문에 보다 최소한의 권한으로 AWS 리소스를 보호하고 관리할 수 있습니다.
IAM 콘솔 화면에서 정책 생성 과정에서 시각적, JSON 두 가지 패턴으로 IAM 정책을 생성할 수 있습니다. 시각적은 코드 입력 없이 액세스 수준에서 사용자가 직접 필요한 권한을 체크하여 IAM 정책을 생성할 수 있습니다.
JSON을 선택하면, 직접 코드를 입력하여 IAM 정책을 생성할 수 있습니다.
보다 상세한 고객 관리형 정책에 대해서는 아래 AWS 공식 문서를 참고해 주세요.
인라인 정책
마지막으로 인라인 정책은 IAM 사용자, IAM 그룹, IAM 역할과 일 대일 매칭을 하는 정책으로 오직 매칭된 IAM 사용자, IAM 그룹, IAM 역할을 위해 존재하는 정책입니다. 인라인 정책은 매칭된 IAM 사용자, IAM 그룹, IAM 역할이 삭제되면 인라인 정책도 동시에 삭제됩니다.
인라인 정책은 다른 정책과 달리 IAM 사용자, IAM 그룹, IAM 역할에서 인라인 정책을 생성할 수 있습니다. 예시를 위해 IAM 역할에서 인라인 정책을 생성해 보도록 하겠습니다.
정책을 생성하는 과정은 고객 관리형 정책과 동일하게 시각적, JSON으로 나누어져 있습니다.
테스트용이므로 적당한 이름을 입력하고 인라인 정책을 생성합니다.
IAM 역할에 인라인 정책이 추가된 것을 확인할 수 있습니다.
그렇다면 이 IAM 역할을 삭제하면 인라인 정책도 같이 삭제되는지 확인해 보도록 하겠습니다.
IAM 역할을 삭제합니다.
검색 결과, 조금 전 생성한 인라인 정책이 삭제된 것을 확인할 수 있습니다. 이러한 테스트로 확인할 수 있는 것은 인라인 정책과 IAM 사용자, 역할, 그룹은 일 대일 매칭을 이룬다는 것이며 IAM 사용자, 역할, 그룹이 삭제되면 인라인 정책도 같이 삭제된다는 점입니다.
특정 사용자, 그룹, 역할에게만 별도의 권한을 할당하고 싶은 경우 인라인 정책이 유용하지 않을까 싶습니다.
인라인 정책에 대해 보다 자세한 내용은 아래 AWS 공식 문서를 참고해 주세요.
마무리
이번 블로그에서는 AWS IAM의 인라인 정책, 고객 관리형 정책 등 다양한 정책에 대해서 정리해 보았습니다. AWS IAM에서 권한을 설정할 때 다양한 정책의 종류와 복잡한 옵션에 가로막혀 어려움을 겪는 경우가 많습니다. 특히, 처음 정책을 설정하는 경우에는 어떤 정책을 선택해야 하고, 어떠한 상황에서 사용해야 할지 혼란스러울 수 있습니다. 이러한 어려움을 겪고 있는 분들에게 조금이나마 이 블로그가 도움이 됐으면 좋겠습니다.
이상, 한국어 블로그 릴레이의 열세 번째 블로그「AWS IAM의 인라인 정책, 고객 관리형 정책 등 다양한 정책에 대해서 정리」편이었습니다. 다음 열네 번째 블로그 릴레이는 10월 첫째 주에 공개됩니다.
끝까지 읽어주셔서 감사합니다! 이상, AWS 사업 본부의 김재욱이었습니다.